package com.bingxue.edu.management.education.model.req;

import com.bingxue.edu.common.enums.GenderEnum;
import com.bingxue.edu.framework.common.validation.MobilePhone;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.time.LocalDate;
import java.util.List;

/**
 * 创建学员信息
 *
 * @author panbo
 * @since 2024/07/25 00:02
 */
@Data
@Schema(description = "创建学员信息")
public class StudentCreateReq {

    @Schema(description = "姓名")
    @NotBlank(message = "姓名不能为空")
    @Length(max = 32, message = "姓名长度不能超过 {max} 个字符")
    private String name;

    @Schema(description = "家长ID")
    private String parentId;

    @Schema(description = "家长手机号")
    @NotBlank(message = "家长手机号不能为空")
    @MobilePhone
    private String parentPhone;

    @Schema(description = "家长姓名")
    @NotBlank(message = "家长姓名不能为空")
    @Length(max = 32, message = "家长姓名长度不能超过 {max} 个字符")
    private String parentName;

    @Schema(description = "家长关系")
    private String parentRelation;

    @Schema(description = "招生来源")
//    @NotBlank(message = "招生来源不能为空")
    private String source;

    @Schema(description = "性别")
    @NotNull(message = "性别不能为空")
    private GenderEnum gender;

    @Schema(description = "生日")
    private LocalDate birthdate;

    @Schema(description = "头像")
    @Length(max = 255, message = "头像长度不能超过 {max} 个字符")
    private String avatar;

    @Schema(description = "入学年份")
    private Integer admissionYear;

    @Schema(description="班级等级")
    private Integer classLevel;

    @Schema(description = "就读学校")
    @Length(max = 32, message = "就读学校长度不能超过 {max} 个字符")
    private String fulltimeSchool;

    @Schema(description = "学生权限列表")
    private List<StudentEnrollPermissionCreateReq> permissions;

    @Schema(description = "备注")
    @Length(max = 255, message = "备注长度不能超过 {max} 个字符")
    private String remark;



}
